package com.example.j280_webproject.day039.service;

import com.example.j280_webproject.day039.jdbc.BaseJDBC;
import com.example.j280_webproject.day039.jdbc.StudentJDBC;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.List;

/**
 * 模糊查询学生信息
 * （1）没有传递查询条件则查询所有学生信息
 * （2）通过传递学生名称模糊查询学生信息
 * （3）通过传递身份证号模糊查询学生信息
 * （3）通过传递学生名称and身份证号模糊查询学生信息
 */
public class SelectStudentListService {
    /**
     * 模糊查询学生信息并返回list集合
     *
     * @param studentName    学生名称
     * @param card           身份证号
     * @return               返回list集合
     */
    public List<com.example.j280_webproject.day039.pojo.Student038> selectStudentList(String studentName,String card){
        StudentJDBC studentJDBC = new StudentJDBC();
        Connection connection = BaseJDBC.createConnection();
        if ((studentName == null || "".equals(studentName)) &&
                (card == null || "".equals(card))){
            try {
                //下面代码调用studentJDBC类汇总selectStudentList方法查询所有学生信息并返回list集合
                List<com.example.j280_webproject.day039.pojo.Student038> list = studentJDBC.selectStudentList(connection);
                return list;
            } catch (SQLException throwables) {
                return null;
            }
        }
        else if((studentName != null && !"".equals(studentName)) &&
                (card == null || "".equals(card))){
            try {
                //下面代码调用studentJDBC类汇总selectStudentListByStudentName方法，通过学生姓名模糊查询学生信息并返回list集合
                List<com.example.j280_webproject.day039.pojo.Student038> list = studentJDBC.selectStudentListByStudentName(connection, studentName);
                return list;
            } catch (SQLException throwables) {
                return null;
            }
        }
        else if (studentName == null || "".equals(studentName)){
            try {
                //下面代码调用studentJDBC类汇总selectStudentListByStudentName方法，通过身份证号模糊查询学生信息并返回list集合
                List<com.example.j280_webproject.day039.pojo.Student038> list = studentJDBC.selectStudentListByCard(connection, card);
                return list;
            } catch (SQLException throwables) {
                return null;
            }
        }
        else {
            try {
                //下面代码调用studentJDBC类汇总selectStudentListByStudentName方法，通过学生姓名and身份证号模糊查询学生信息并返回list集合
                List<com.example.j280_webproject.day039.pojo.Student038> list = studentJDBC.selectStudentListByStudentNameAndCard(connection, studentName, card);
                return list;
            } catch (SQLException throwables) {
                return null;
            }
        }
    }
}
